/* 从 Google Fonts 引入 Poppins 字体，包含不同字重 */
@import url('https://fonts.googleapis.com/css?family=Poppins:200,300,400,500,600,700,800,900&display=swap');

/* 通用选择器，对所有元素生效 */
* {
    /* 去除所有元素的外边距 */
    margin: 0;
    /* 去除所有元素的内边距 */
    padding: 0;
    /* 设置盒模型为 border-box，让元素的宽度和高度包含内边距和边框 */
    box-sizing: border-box;
    /* 修正字体属性值，设置所有元素的字体为 Poppins，若没有则使用系统默认无衬线字体 */
    font-family: 'Poppins', sans-serif;
}

body {
    /* 使用 Flexbox 布局 */
    display: flex;
    /* 设置最小高度为视口高度，确保内容至少占满整个屏幕 */
    min-height: 100vh;
    /* 设置背景颜色为深灰色 */
    background: #333;
    /* 水平方向右对齐 */
    justify-content: flex-end;
    /* 垂直方向底部对齐 */
    align-items: flex-end;
}

footer {
    /* 设置定位为相对定位，为子元素的绝对定位提供参考 */
    position: relative;
    /* 设置宽度为 100%，占满整个父元素宽度 */
    width: 100%;
    /* 设置背景颜色为蓝色 */
    background: #3586ff;
    /* 设置最小高度为 100px */
    min-height: 100px;
    /* 设置内边距，上下 20px，左右 50px */
    padding: 20px 50px;
    /* 使用 Flexbox 布局 */
    display: flex;
    /* 水平方向居中对齐 */
    justify-content: center;
    /* 垂直方向居中对齐 */
    align-items: center;
    /* 设置 Flex 方向为垂直方向 */
    flex-direction: column;
}

footer .social-icon {
    /* 设置定位为相对定位 */
    position: relative;
    /* 使用 Flexbox 布局 */
    display: flex;
    /* 允许子元素换行 */
    flex-wrap: wrap;
    /* 水平方向居中对齐 */
    justify-content: center;
    /* 垂直方向居中对齐 */
    align-items: center;
    /* 设置子元素之间的间距为 30px */
    gap: 30px;
}

footer .social-icon li {
    /* 设置定位为相对定位 */
    position: relative;
    /* 设置背景颜色为白色 */
    background: #fff;
    /* 设置宽度为 50px */
    width: 50px;
    /* 设置高度为 50px */
    height: 50px;
    /* 去除列表项的默认样式（圆点） */
    list-style: none;
    /* 设置内阴影和外阴影 */
    box-shadow: inset 5px 5px 10px rgba(245, 241, 241, 0.1),
        10px 15px 10px rgba(247, 240, 240, 0.2);
    /* 设置圆角为 15px */
    border-radius: 15px;
    /* 设置过渡效果，持续时间 0.5 秒 */
    transition: 0.5s;
}

footer .social-icon li::before {
    /* 在元素内容之前插入一个空内容 */
    content: '';
    /* 设置定位为绝对定位，相对于父元素定位 */
    position: absolute;
    /* 设置四个方向的偏移量为 4px，这里可能有误，正确写法应为 inset: 4px; */
    inset: 4;
    /* 设置内阴影 */
    box-shadow: inset 4px 4px 0 #fff;
    /* 设置元素层级为 1 */
    z-index: 1;
    /* 设置圆角为 20px */
    border-radius: 20px;
    /* 设置模糊效果，使阴影更柔和 */
    filter: blur(2px);
    /* 该元素不响应鼠标事件 */
    pointer-events: none;
}

footer .social-icon li:hover {
    /* 鼠标悬停时，元素向上移动 20px */
    transform: translateY(-20px);
}

footer .social-icon li a {
    /* 设置定位为绝对定位，填充整个父元素 */
    position: absolute;
    inset: 0;
    /* 使用 Flexbox 布局 */
    display: flex;
    /* 水平方向居中对齐 */
    justify-content: center;
    /* 垂直方向居中对齐 */
    align-items: center;
    /* 去除链接的下划线 */
    text-decoration: none;
    /* 设置字体大小为 2 倍父元素字体大小 */
    font-size: 2em;
    /* 使用自定义属性 --clr 设置字体颜色 */
    color: var(--clr);
}

footer .menu {
    /* 设置定位为相对定位 */
    position: relative;
    /* 去除列表项的默认样式（圆点） */
    list-style: none;
    /* 使用 Flexbox 布局 */
    display: flex;
    /* 水平方向居中对齐 */
    justify-content: center;
    /* 垂直方向居中对齐 */
    align-items: center;
    /* 设置上下外边距为 20px，左右为 0 */
    margin: 20px 0;
    /* 允许子元素换行 */
    flex-wrap: wrap;
}

footer .menu li a {
    /* 设置字体大小为 1.2 倍父元素字体大小 */
    font-size: 1.2em;
    /* 设置字体颜色为白色 */
    color: #fff;
    /* 设置左右外边距为 10px，上下为 0 */
    margin: 0 10px;
    /* 设置为行内块元素 */
    display: inline-block;
    /* 设置过渡效果，持续时间 0.5 秒 */
    transition: 0.5s;
    /* 去除链接的下划线 */
    text-decoration: none;
}

footer .menu li a:hover {
    /* 鼠标悬停时，链接透明度变为 0.7 */
    opacity: 0.7;
}

footer p {
    /* 设置字体颜色为白色 */
    color: #fff;
    /* 设置文本居中对齐 */
    text-align: center;
    /* 设置上外边距为 15px */
    margin-top: 15px;
    /* 设置下外边距为 10px */
    margin-bottom: 10px;
}

footer .wave {
    /* 设置定位为绝对定位，相对于 footer 元素定位 */
    position: absolute;
    /* 设置顶部偏移量为 -100px */
    top: -100px;
    /* 设置左侧偏移量为 0 */
    left: 0;
    /* 设置宽度为 100%，占满整个父元素宽度 */
    width: 100%;
    /* 设置高度为 100px */
    height: 100px;
    /* 引入波浪图片作为背景 */
    background: url(wave.jpg);
    /* 设置背景图片的尺寸，宽度 1000px，高度 100px */
    background-size: 1000px 100px;
}

footer .wave#wave1 {
    /* 设置元素层级为 1000 */
    z-index: 1000;
    /* 设置透明度为 1，完全不透明 */
    opacity: 1;
    /* 设置底部偏移量为 0 */
    bottom: 0;
    /* 应用名为 animateWave 的动画，持续时间 4 秒，线性播放，无限循环 */
    animation: animateWave 4s linear infinite;
}

footer .wave#wave2 {
    /* 设置元素层级为 999 */
    z-index: 999;
    /* 设置透明度为 0.5，半透明 */
    opacity: 0.5;
    /* 设置底部偏移量为 10px */
    bottom: 10px;
    /* 应用名为 animateWave2 的动画，持续时间 4 秒，线性播放，无限循环 */
    animation: animateWave2 4s linear infinite;
}

footer .wave#wave3 {
    /* 设置元素层级为 1000 */
    z-index: 1000;
    /* 设置透明度为 0.2，接近透明 */
    opacity: 0.2;
    bottom: 15px;
    animation: animateWave 3s linear infinite;
}

footer .wave#wave4 {
    z-index: 999;
    opacity: 0.7;
    bottom: 20px;
    animation: animateWave2 3s linear infinite;
}

/* 定义名为 animateWave 的动画关键帧 */
@keyframes animateWave {
    /* 动画开始时，背景图片的水平位置为 1000px */
    0% {
        background-position: 1000px;
    }
    /* 动画结束时，背景图片的水平位置为 0px */
    100% {
        background-position-x: 0px;
    }
}

/* 定义名为 animateWave2 的动画关键帧 */
@keyframes animateWave2 {
    /* 动画开始时，背景图片的水平位置为 0px */
    0% {
        background-position: 0px;
    }
    /* 动画结束时，背景图片的水平位置为 1000px */
    100% {
        background-position-x: 1000px;
    }
}